package com.hospital.model;

/**
 * 医生视图实体类
 * 用于展示医生信息，包含医生基本信息和所属科室信息
 */
public class DoctorView {
    /**
     * 医生工号
     */
    private String doctorId;
    
    /**
     * 医生登录密码
     */
    private String doctorPassword;
    
    /**
     * 医生姓名
     */
    private String doctorName;
    
    /**
     * 医生性别
     */
    private char doctorGender;
    
    /**
     * 医生年龄
     */
    private int doctorAge;
    
    /**
     * 医生联系电话
     */
    private String doctorPhone;
    
    /**
     * 医生身份证号
     */
    private String doctorIdCard;
    
    /**
     * 所属科室ID
     */
    private int deptId;
    
    /**
     * 所属科室名称
     */
    private String deptName;
    
    /**
     * 默认构造函数
     */
    public DoctorView() {
    }
    
    /**
     * 带参数的构造函数
     * @param doctorId 医生工号
     * @param doctorPassword 医生登录密码
     * @param doctorName 医生姓名
     * @param doctorGender 医生性别
     * @param doctorAge 医生年龄
     * @param doctorPhone 医生联系电话
     * @param doctorIdCard 医生身份证号
     * @param deptId 所属科室ID
     * @param deptName 所属科室名称
     */
    public DoctorView(String doctorId, String doctorPassword, String doctorName, char doctorGender,
                     int doctorAge, String doctorPhone, String doctorIdCard, int deptId, String deptName) {
        this.doctorId = doctorId;
        this.doctorPassword = doctorPassword;
        this.doctorName = doctorName;
        this.doctorGender = doctorGender;
        this.doctorAge = doctorAge;
        this.doctorPhone = doctorPhone;
        this.deptId = deptId;
        this.deptName = deptName;
        this.doctorIdCard = doctorIdCard;
    }
    
    /**
     * 获取医生身份证号
     * @return 医生身份证号
     */
    public String getDoctorIdCard() {
        return doctorIdCard;
    }
    
    /**
     * 设置医生身份证号
     * @param doctorIdCard 医生身份证号
     */
    public void setDoctorIdCard(String doctorIdCard) {
        this.doctorIdCard = doctorIdCard;
    }
    
    /**
     * 获取医生登录密码
     * @return 医生登录密码
     */
    public String getDoctorPassword() {
        return doctorPassword;
    }
    
    /**
     * 设置医生登录密码
     * @param doctorPassword 医生登录密码
     */
    public void setDoctorPassword(String doctorPassword) {
        this.doctorPassword = doctorPassword;
    }
    
    /**
     * 获取医生工号
     * @return 医生工号
     */
    public String getDoctorId() {
        return doctorId;
    }
    
    /**
     * 设置医生工号
     * @param doctorId 医生工号
     */
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }
    
    /**
     * 获取医生姓名
     * @return 医生姓名
     */
    public String getDoctorName() {
        return doctorName;
    }
    
    /**
     * 设置医生姓名
     * @param doctorName 医生姓名
     */
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    
    /**
     * 获取医生性别
     * @return 医生性别
     */
    public char getDoctorGender() {
        return doctorGender;
    }
    
    /**
     * 设置医生性别
     * @param doctorGender 医生性别
     */
    public void setDoctorGender(char doctorGender) {
        this.doctorGender = doctorGender;
    }
    
    /**
     * 获取医生年龄
     * @return 医生年龄
     */
    public int getDoctorAge() {
        return doctorAge;
    }
    
    /**
     * 设置医生年龄
     * @param doctorAge 医生年龄
     */
    public void setDoctorAge(int doctorAge) {
        this.doctorAge = doctorAge;
    }
    
    /**
     * 获取医生联系电话
     * @return 医生联系电话
     */
    public String getDoctorPhone() {
        return doctorPhone;
    }
    
    /**
     * 设置医生联系电话
     * @param doctorPhone 医生联系电话
     */
    public void setDoctorPhone(String doctorPhone) {
        this.doctorPhone = doctorPhone;
    }
    
    /**
     * 获取所属科室ID
     * @return 所属科室ID
     */
    public int getDeptId() {
        return deptId;
    }
    
    /**
     * 设置所属科室ID
     * @param deptId 所属科室ID
     */
    public void setDeptId(int deptId) {
        this.deptId = deptId;
    }
    
    /**
     * 获取所属科室名称
     * @return 所属科室名称
     */
    public String getDeptName() {
        return deptName;
    }
    
    /**
     * 设置所属科室名称
     * @param deptName 所属科室名称
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    
    /**
     * 返回医生视图对象的字符串表示
     * @return 包含医生和科室信息的字符串
     */
    @Override
    public String toString() {
        return "DoctorView{" +
                "doctorId='" + doctorId + '\'' +
                ", doctorName='" + doctorName + '\'' +
                ", doctorGender=" + doctorGender +
                ", doctorAge=" + doctorAge +
                ", doctorPhone='" + doctorPhone + '\'' +
                ", deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                '}';
    }
} 